package com.unittec.zk.sdk.work.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.unittec.zk.sdk.work.domain.AttachmentDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 工作计划-增/改 请求实体
 *
 * @author wangyongfeng
 * @date 2021/12/21
 */
@ApiModel("工作计划-增/改 请求实体")
@Data
public class Req202015 implements Serializable {

    private static final long serialVersionUID = -4372898582562619129L;

    private String id;

    /**
     * 计划名称
     */
    @ApiModelProperty(value = "计划名称")
    @Size(max = 50, message = "计划名称不超过50个字符")
    private String planName;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date timeStart;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date timeEnd;

    /**
     * 负责人id
     */
    @ApiModelProperty(value = "负责人id")
    private String leaderId;

    @ApiModelProperty(value = "参与人员id列表")
    private List<String> joinnerIds;

    /**
     * 工作内容
     */
    @ApiModelProperty(value = "工作内容")
    @Size(max = 500, message = "工作内容不超过500字符")
    private String workContent;

    /**
     * 附件列表
     */
    @ApiModelProperty(value = "附件列表")
    private List<AttachmentDTO> fileDtoList;

    /**
     * 是否需要审批（1是，0否）
     */
    @ApiModelProperty(value = "是否需要审批（1是，0否）")
    private String isNeedApprove;
}